<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/xhtml;charset=utf-8" http-equiv="Content-Type"/>
<meta content="IE=9" http-equiv="X-UA-Compatible"/>
<meta content="Doxygen 1.8.13" name="generator"/>
<title>OpenCV: cv::text Namespace Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script src="../../jquery.js" type="text/javascript"></script>
<script src="../../dynsections.js" type="text/javascript"></script>
<script src="../../tutorial-utils.js" type="text/javascript"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script src="../../search/searchdata.js" type="text/javascript"></script>
<script src="../../search/search.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js" type="text/javascript"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css"/>
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellpadding="0" cellspacing="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
    <span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script src="../../menudata.js" type="text/javascript"></script>
<script src="../../menu.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow" onkeydown="return searchBox.OnSearchSelectKey(event)" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe frameborder="0" id="MSearchResults" name="MSearchResults" src="javascript:void(0)">
</iframe>
</div>
<div class="navpath" id="nav-path">
  <ul>
<li class="navelem"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></li><li class="navelem"><a class="el" href="../../d8/de7/namespacecv_1_1text.html">text</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> |
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">cv::text Namespace Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d3a/classcv_1_1text_1_1BaseOCR.html">BaseOCR</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class for 1st and 2nd stages of Neumann and Matas scene text detection algorithm <a class="el" href="../../d0/de3/citelist.html#CITEREF_Neumann12">[183]</a>. :  <a href="../../da/def/classcv_1_1text_1_1ERFilter.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d20/structcv_1_1text_1_1ERStat.html">ERStat</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="../../db/d20/structcv_1_1text_1_1ERStat.html" title="The ERStat structure represents a class-specific Extremal Region (ER). ">ERStat</a> structure represents a class-specific Extremal Region (ER).  <a href="../../db/d20/structcv_1_1text_1_1ERStat.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d07/classcv_1_1text_1_1OCRBeamSearchDecoder.html">OCRBeamSearchDecoder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../da/d07/classcv_1_1text_1_1OCRBeamSearchDecoder.html" title="OCRBeamSearchDecoder class provides an interface for OCR using Beam Search algorithm. ">OCRBeamSearchDecoder</a> class provides an interface for OCR using Beam Search algorithm.  <a href="../../da/d07/classcv_1_1text_1_1OCRBeamSearchDecoder.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d74/classcv_1_1text_1_1OCRHMMDecoder.html">OCRHMMDecoder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d0/d74/classcv_1_1text_1_1OCRHMMDecoder.html" title="OCRHMMDecoder class provides an interface for OCR using Hidden Markov Models. ">OCRHMMDecoder</a> class provides an interface for OCR using Hidden Markov Models.  <a href="../../d0/d74/classcv_1_1text_1_1OCRHMMDecoder.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d8f/classcv_1_1text_1_1OCRHolisticWordRecognizer.html">OCRHolisticWordRecognizer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d0/d8f/classcv_1_1text_1_1OCRHolisticWordRecognizer.html" title="OCRHolisticWordRecognizer class provides the functionallity of segmented wordspotting. Given a predefined vocabulary , a DictNet is employed to select the most probable word given an input image. ">OCRHolisticWordRecognizer</a> class provides the functionallity of segmented wordspotting. Given a predefined vocabulary , a DictNet is employed to select the most probable word given an input image.  <a href="../../d0/d8f/classcv_1_1text_1_1OCRHolisticWordRecognizer.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/ddc/classcv_1_1text_1_1OCRTesseract.html">OCRTesseract</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d7/ddc/classcv_1_1text_1_1OCRTesseract.html" title="OCRTesseract class provides an interface with the tesseract-ocr API (v3.02.02) in C++...">OCRTesseract</a> class provides an interface with the tesseract-ocr API (v3.02.02) in C++.  <a href="../../d7/ddc/classcv_1_1text_1_1OCRTesseract.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d25/classcv_1_1text_1_1TextDetector.html">TextDetector</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An abstract class providing interface for text detection algorithms.  <a href="../../de/d25/classcv_1_1text_1_1TextDetector.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d66/classcv_1_1text_1_1TextDetectorCNN.html">TextDetectorCNN</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d1/d66/classcv_1_1text_1_1TextDetectorCNN.html" title="TextDetectorCNN class provides the functionallity of text bounding box detection. This class is repre...">TextDetectorCNN</a> class provides the functionallity of text bounding box detection. This class is representing to find bounding boxes of text words given an input image. This class uses OpenCV dnn module to load pre-trained model described in <a class="el" href="../../d0/de3/citelist.html#CITEREF_LiaoSBWL17">[147]</a>. The original repository with the modified SSD Caffe version: <a href="https://github.com/MhLiao/TextBoxes">https://github.com/MhLiao/TextBoxes</a>. Model can be downloaded from <a href="https://www.dropbox.com/s/g8pjzv2de9gty8g/TextBoxes_icdar13.caffemodel?dl=0">DropBox</a>. Modified .prototxt file with the model description can be found in <code>opencv_contrib/modules/text/samples/textbox.prototxt</code>.  <a href="../../d1/d66/classcv_1_1text_1_1TextDetectorCNN.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga4393eddae65e48ed93934c409bd99126"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>
  <a class="el" href="../../da/d56/group__text__detect.html#gga4393eddae65e48ed93934c409bd99126a79e06bd9ad5b17411581ac430f805e66">ERFILTER_NM_RGBLGrad</a>, 
<br/>
  <a class="el" href="../../da/d56/group__text__detect.html#gga4393eddae65e48ed93934c409bd99126a00b4e765bdc40567ad70beb7df464e06">ERFILTER_NM_IHSGrad</a>
<br/>
 }<tr class="memdesc:ga4393eddae65e48ed93934c409bd99126"><td class="mdescLeft"> </td><td class="mdescRight">computeNMChannels operation modes  <a href="../../da/d56/group__text__detect.html#ga4393eddae65e48ed93934c409bd99126">More...</a><br/></td></tr>
</td></tr>
<tr class="separator:ga4393eddae65e48ed93934c409bd99126"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf6b1aecb0076128d099ead48a9170ead"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#ggaf6b1aecb0076128d099ead48a9170eadab4582fb3843b8ad7e209bf8f212ac2fe">OCR_LEVEL_WORD</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#ggaf6b1aecb0076128d099ead48a9170eadae3afbc0d74dd08bf11ff430c59d75fa0">OCR_LEVEL_TEXTLINE</a>
<br/>
 }</td></tr>
<tr class="separator:gaf6b1aecb0076128d099ead48a9170ead"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga688d3bbaf5a5ac19ffe9633d7dc0156a"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df2/group__text__recognize.html#ga688d3bbaf5a5ac19ffe9633d7dc0156a">classifier_type</a> { <br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga688d3bbaf5a5ac19ffe9633d7dc0156aafc76612bdc2a94f57f02bd25a6255f12">OCR_KNN_CLASSIFIER</a> = 0, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga688d3bbaf5a5ac19ffe9633d7dc0156aaf2248e60e9f6373cd7555a758a910262">OCR_CNN_CLASSIFIER</a> = 1
<br/>
 }</td></tr>
<tr class="separator:ga688d3bbaf5a5ac19ffe9633d7dc0156a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gac013d7b1a6a1b7d739b89474c20ec086"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df2/group__text__recognize.html#gac013d7b1a6a1b7d739b89474c20ec086">decoder_mode</a> { <a class="el" href="../../d8/df2/group__text__recognize.html#ggac013d7b1a6a1b7d739b89474c20ec086a9d8baffabe0834b3eacaf2e32a5c7fdd">OCR_DECODER_VITERBI</a> = 0
 }</td></tr>
<tr class="separator:gac013d7b1a6a1b7d739b89474c20ec086"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gac71e4c8addcf8f6dabc9b6da401d5eb9"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#gac71e4c8addcf8f6dabc9b6da401d5eb9">erGrouping_Modes</a> { <br/>
  <a class="el" href="../../da/d56/group__text__detect.html#ggac71e4c8addcf8f6dabc9b6da401d5eb9a27297f8181275dff67535f204e4bdd62">ERGROUPING_ORIENTATION_HORIZ</a>, 
<br/>
  <a class="el" href="../../da/d56/group__text__detect.html#ggac71e4c8addcf8f6dabc9b6da401d5eb9aa88b048d788f8f61bcec6c478078e3c4">ERGROUPING_ORIENTATION_ANY</a>
<br/>
 }<tr class="memdesc:gac71e4c8addcf8f6dabc9b6da401d5eb9"><td class="mdescLeft"> </td><td class="mdescRight">text::erGrouping operation modes  <a href="../../da/d56/group__text__detect.html#gac71e4c8addcf8f6dabc9b6da401d5eb9">More...</a><br/></td></tr>
</td></tr>
<tr class="separator:gac71e4c8addcf8f6dabc9b6da401d5eb9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga91c5c4396fea4192c6bf5a8b2eba871a"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df2/group__text__recognize.html#ga91c5c4396fea4192c6bf5a8b2eba871a">ocr_engine_mode</a> { <br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga91c5c4396fea4192c6bf5a8b2eba871aa308fc26cecf758c6d7f4d503f9c9d5a2">OEM_TESSERACT_ONLY</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga91c5c4396fea4192c6bf5a8b2eba871aa42027b630054154cd8263f6a70f58ec3">OEM_CUBE_ONLY</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga91c5c4396fea4192c6bf5a8b2eba871aa12cb4b814e595a715a93ddca68d07787">OEM_TESSERACT_CUBE_COMBINED</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga91c5c4396fea4192c6bf5a8b2eba871aa8323b4ed6d93e0dd6b2656dd4eaa11c3">OEM_DEFAULT</a>
<br/>
 }<tr class="memdesc:ga91c5c4396fea4192c6bf5a8b2eba871a"><td class="mdescLeft"> </td><td class="mdescRight">Tesseract.OcrEngineMode Enumeration.  <a href="../../d8/df2/group__text__recognize.html#ga91c5c4396fea4192c6bf5a8b2eba871a">More...</a><br/></td></tr>
</td></tr>
<tr class="separator:ga91c5c4396fea4192c6bf5a8b2eba871a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga32b394fdfb46625c2134d5456c78576b"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df2/group__text__recognize.html#ga32b394fdfb46625c2134d5456c78576b">page_seg_mode</a> { <br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba7f263fe084bd2b66918ca1b8828c7f7d">PSM_OSD_ONLY</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba45394fc9b8bcf757170c7951aa0a833c">PSM_AUTO_OSD</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba941826c53c13b78c57cb79d2a66062bc">PSM_AUTO_ONLY</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba592c3b182ce902537d8aaed3e00d4d8c">PSM_AUTO</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba12b616117a78aed4be8eb43cc5f3266a">PSM_SINGLE_COLUMN</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba9df2b8ca6b05b6c4595d63ffe1ed5d65">PSM_SINGLE_BLOCK_VERT_TEXT</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576baa3e77010118ac2ec965fa9b0bb55bbc8">PSM_SINGLE_BLOCK</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba7e8598b350f3caf72196e723e5b210e3">PSM_SINGLE_LINE</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba66b6336634f7fa1f726d7c1fc30b811e">PSM_SINGLE_WORD</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba7086bc9fce731b1a2804aa15a118ec97">PSM_CIRCLE_WORD</a>, 
<br/>
  <a class="el" href="../../d8/df2/group__text__recognize.html#gga32b394fdfb46625c2134d5456c78576ba31569ebd7f6f05aa73ab1021622377e4">PSM_SINGLE_CHAR</a>
<br/>
 }<tr class="memdesc:ga32b394fdfb46625c2134d5456c78576b"><td class="mdescLeft"> </td><td class="mdescRight">Tesseract.PageSegMode Enumeration.  <a href="../../d8/df2/group__text__recognize.html#ga32b394fdfb46625c2134d5456c78576b">More...</a><br/></td></tr>
</td></tr>
<tr class="separator:ga32b394fdfb46625c2134d5456c78576b"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga23fdd9364be7b67d104f814dd679fcde"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#ga23fdd9364be7b67d104f814dd679fcde">computeNMChannels</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> _src, <a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> _channels, int _mode=<a class="el" href="../../da/d56/group__text__detect.html#gga4393eddae65e48ed93934c409bd99126a79e06bd9ad5b17411581ac430f805e66">ERFILTER_NM_RGBLGrad</a>)</td></tr>
<tr class="memdesc:ga23fdd9364be7b67d104f814dd679fcde"><td class="mdescLeft"> </td><td class="mdescRight">Compute the different channels to be processed independently in the N&amp;M algorithm <a class="el" href="../../d0/de3/citelist.html#CITEREF_Neumann12">[183]</a>.  <a href="../../da/d56/group__text__detect.html#ga23fdd9364be7b67d104f814dd679fcde">More...</a><br/></td></tr>
<tr class="separator:ga23fdd9364be7b67d104f814dd679fcde"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga34e6b32cc3db805155ab51dcd7bc61d5"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#ga34e6b32cc3db805155ab51dcd7bc61d5">createERFilterNM1</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d0/d4f/classcv_1_1text_1_1ERFilter_1_1Callback.html">ERFilter::Callback</a> &gt; &amp;cb, int thresholdDelta=1, float minArea=(float) 0.00025, float maxArea=(float) 0.13, float minProbability=(float) 0.4, bool nonMaxSuppression=true, float minProbabilityDiff=(float) 0.1)</td></tr>
<tr class="memdesc:ga34e6b32cc3db805155ab51dcd7bc61d5"><td class="mdescLeft"> </td><td class="mdescRight">Create an Extremal Region Filter for the 1st stage classifier of N&amp;M algorithm <a class="el" href="../../d0/de3/citelist.html#CITEREF_Neumann12">[183]</a>.  <a href="../../da/d56/group__text__detect.html#ga34e6b32cc3db805155ab51dcd7bc61d5">More...</a><br/></td></tr>
<tr class="separator:ga34e6b32cc3db805155ab51dcd7bc61d5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad0dbf50d68acbacfbe466c4bc31cdcd2"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#gad0dbf50d68acbacfbe466c4bc31cdcd2">createERFilterNM1</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename, int thresholdDelta=1, float minArea=(float) 0.00025, float maxArea=(float) 0.13, float minProbability=(float) 0.4, bool nonMaxSuppression=true, float minProbabilityDiff=(float) 0.1)</td></tr>
<tr class="memdesc:gad0dbf50d68acbacfbe466c4bc31cdcd2"><td class="mdescLeft"> </td><td class="mdescRight">Reads an Extremal Region Filter for the 1st stage classifier of N&amp;M algorithm from the provided path e.g. /path/to/cpp/trained_classifierNM1.xml.  <a href="../../da/d56/group__text__detect.html#gad0dbf50d68acbacfbe466c4bc31cdcd2">More...</a><br/></td></tr>
<tr class="separator:gad0dbf50d68acbacfbe466c4bc31cdcd2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga00f010f5b65cc60d1290a76807d39c95"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#ga00f010f5b65cc60d1290a76807d39c95">createERFilterNM2</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d0/d4f/classcv_1_1text_1_1ERFilter_1_1Callback.html">ERFilter::Callback</a> &gt; &amp;cb, float minProbability=(float) 0.3)</td></tr>
<tr class="memdesc:ga00f010f5b65cc60d1290a76807d39c95"><td class="mdescLeft"> </td><td class="mdescRight">Create an Extremal Region Filter for the 2nd stage classifier of N&amp;M algorithm <a class="el" href="../../d0/de3/citelist.html#CITEREF_Neumann12">[183]</a>.  <a href="../../da/d56/group__text__detect.html#ga00f010f5b65cc60d1290a76807d39c95">More...</a><br/></td></tr>
<tr class="separator:ga00f010f5b65cc60d1290a76807d39c95"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga56f17c714f8403ef00b02022eeebb8a2"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#ga56f17c714f8403ef00b02022eeebb8a2">createERFilterNM2</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename, float minProbability=(float) 0.3)</td></tr>
<tr class="memdesc:ga56f17c714f8403ef00b02022eeebb8a2"><td class="mdescLeft"> </td><td class="mdescRight">Reads an Extremal Region Filter for the 2nd stage classifier of N&amp;M algorithm from the provided path e.g. /path/to/cpp/trained_classifierNM2.xml.  <a href="../../da/d56/group__text__detect.html#ga56f17c714f8403ef00b02022eeebb8a2">More...</a><br/></td></tr>
<tr class="separator:ga56f17c714f8403ef00b02022eeebb8a2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4ed3cbd46c1559f046cd25288a1f024b"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/de7/namespacecv_1_1text.html#a4ed3cbd46c1559f046cd25288a1f024b">createOCRHMMTransitionsTable</a> (std::string &amp;vocabulary, std::vector&lt; std::string &gt; &amp;lexicon, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> transition_probabilities_table)</td></tr>
<tr class="memdesc:a4ed3cbd46c1559f046cd25288a1f024b"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to create a tailored language model transitions table from a given list of words (lexicon).  <a href="#a4ed3cbd46c1559f046cd25288a1f024b">More...</a><br/></td></tr>
<tr class="separator:a4ed3cbd46c1559f046cd25288a1f024b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adfc8fe61325b04caf837633f36f74c77"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../d3/d63/classcv_1_1Mat.html">Mat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/de7/namespacecv_1_1text.html#adfc8fe61325b04caf837633f36f74c77">createOCRHMMTransitionsTable</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;vocabulary, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">cv::String</a> &gt; &amp;lexicon)</td></tr>
<tr class="separator:adfc8fe61325b04caf837633f36f74c77"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gac4abe0243775e0d1a871a7d85fde0198"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#gac4abe0243775e0d1a871a7d85fde0198">detectRegions</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image, const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a> &gt; &amp;er_filter1, const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a> &gt; &amp;er_filter2, std::vector&lt; std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga1e83eafb2d26b3c93f09e8338bcab192">Point</a> &gt; &gt; &amp;regions)</td></tr>
<tr class="separator:gac4abe0243775e0d1a871a7d85fde0198"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gacead6485d0966726892094fc4aaf9dc6"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#gacead6485d0966726892094fc4aaf9dc6">detectRegions</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image, const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a> &gt; &amp;er_filter1, const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html">ERFilter</a> &gt; &amp;er_filter2, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp;groups_rects, int method=<a class="el" href="../../da/d56/group__text__detect.html#ggac71e4c8addcf8f6dabc9b6da401d5eb9a27297f8181275dff67535f204e4bdd62">ERGROUPING_ORIENTATION_HORIZ</a>, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>(), float minProbability=(float) 0.5)</td></tr>
<tr class="memdesc:gacead6485d0966726892094fc4aaf9dc6"><td class="mdescLeft"> </td><td class="mdescRight">Extracts text regions from image.  <a href="../../da/d56/group__text__detect.html#gacead6485d0966726892094fc4aaf9dc6">More...</a><br/></td></tr>
<tr class="separator:gacead6485d0966726892094fc4aaf9dc6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9370f4e7849c94fb418eebd915a6839d"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/de7/namespacecv_1_1text.html#a9370f4e7849c94fb418eebd915a6839d">detectTextSWT</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> input, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">cv::Rect</a> &gt; &amp;result, bool dark_on_light, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> &amp;draw=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> &amp;chainBBs=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>())</td></tr>
<tr class="memdesc:a9370f4e7849c94fb418eebd915a6839d"><td class="mdescLeft"> </td><td class="mdescRight">Applies the Stroke Width Transform operator followed by filtering of connected components of similar Stroke Widths to return letter candidates. It also chain them by proximity and size, saving the result in chainBBs.  <a href="#a9370f4e7849c94fb418eebd915a6839d">More...</a><br/></td></tr>
<tr class="separator:a9370f4e7849c94fb418eebd915a6839d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga6299380bbb9141488220bdee62b62cd1"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#ga6299380bbb9141488220bdee62b62cd1">erGrouping</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> img, <a class="el" href="../../dc/d84/group__core__basic.html#ga606feabe3b50ab6838f1ba89727aa07a">InputArrayOfArrays</a> channels, std::vector&lt; std::vector&lt; <a class="el" href="../../db/d20/structcv_1_1text_1_1ERStat.html">ERStat</a> &gt; &gt; &amp;regions, std::vector&lt; std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga121402b88177c336b18945dd71d96ae0">Vec2i</a> &gt; &gt; &amp;groups, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp;groups_rects, int method=<a class="el" href="../../da/d56/group__text__detect.html#ggac71e4c8addcf8f6dabc9b6da401d5eb9a27297f8181275dff67535f204e4bdd62">ERGROUPING_ORIENTATION_HORIZ</a>, const std::string &amp;filename=std::string(), float minProbablity=0.5)</td></tr>
<tr class="memdesc:ga6299380bbb9141488220bdee62b62cd1"><td class="mdescLeft"> </td><td class="mdescRight">Find groups of Extremal Regions that are organized as text blocks.  <a href="../../da/d56/group__text__detect.html#ga6299380bbb9141488220bdee62b62cd1">More...</a><br/></td></tr>
<tr class="separator:ga6299380bbb9141488220bdee62b62cd1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga807dea4f63f6e2b59c9ac22d35e23926"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#ga807dea4f63f6e2b59c9ac22d35e23926">erGrouping</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> channel, std::vector&lt; std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga1e83eafb2d26b3c93f09e8338bcab192">Point</a> &gt; &gt; regions, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp;groups_rects, int method=<a class="el" href="../../da/d56/group__text__detect.html#ggac71e4c8addcf8f6dabc9b6da401d5eb9a27297f8181275dff67535f204e4bdd62">ERGROUPING_ORIENTATION_HORIZ</a>, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>(), float minProbablity=(float) 0.5)</td></tr>
<tr class="separator:ga807dea4f63f6e2b59c9ac22d35e23926"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga8a0e90a70de747b993be34ed7933ef53"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d0/d4f/classcv_1_1text_1_1ERFilter_1_1Callback.html">ERFilter::Callback</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#ga8a0e90a70de747b993be34ed7933ef53">loadClassifierNM1</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename)</td></tr>
<tr class="memdesc:ga8a0e90a70de747b993be34ed7933ef53"><td class="mdescLeft"> </td><td class="mdescRight">Allow to implicitly load the default classifier when creating an <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html" title="Base class for 1st and 2nd stages of Neumann and Matas scene text detection algorithm ...">ERFilter</a> object.  <a href="../../da/d56/group__text__detect.html#ga8a0e90a70de747b993be34ed7933ef53">More...</a><br/></td></tr>
<tr class="separator:ga8a0e90a70de747b993be34ed7933ef53"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7a7555ebd0850765e1cb09d322235cf8"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d0/d4f/classcv_1_1text_1_1ERFilter_1_1Callback.html">ERFilter::Callback</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#ga7a7555ebd0850765e1cb09d322235cf8">loadClassifierNM2</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename)</td></tr>
<tr class="memdesc:ga7a7555ebd0850765e1cb09d322235cf8"><td class="mdescLeft"> </td><td class="mdescRight">Allow to implicitly load the default classifier when creating an <a class="el" href="../../da/def/classcv_1_1text_1_1ERFilter.html" title="Base class for 1st and 2nd stages of Neumann and Matas scene text detection algorithm ...">ERFilter</a> object.  <a href="../../da/d56/group__text__detect.html#ga7a7555ebd0850765e1cb09d322235cf8">More...</a><br/></td></tr>
<tr class="separator:ga7a7555ebd0850765e1cb09d322235cf8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac30595bd0b171889aee9f3f62f0b966e"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../de/d2d/classcv_1_1text_1_1OCRBeamSearchDecoder_1_1ClassifierCallback.html">OCRBeamSearchDecoder::ClassifierCallback</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/de7/namespacecv_1_1text.html#ac30595bd0b171889aee9f3f62f0b966e">loadOCRBeamSearchClassifierCNN</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename)</td></tr>
<tr class="memdesc:ac30595bd0b171889aee9f3f62f0b966e"><td class="mdescLeft"> </td><td class="mdescRight">Allow to implicitly load the default character classifier when creating an <a class="el" href="../../da/d07/classcv_1_1text_1_1OCRBeamSearchDecoder.html" title="OCRBeamSearchDecoder class provides an interface for OCR using Beam Search algorithm. ">OCRBeamSearchDecoder</a> object.  <a href="#ac30595bd0b171889aee9f3f62f0b966e">More...</a><br/></td></tr>
<tr class="separator:ac30595bd0b171889aee9f3f62f0b966e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1d0cf1516cf8cfb2e53fdf639d547119"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../db/dc0/classcv_1_1text_1_1OCRHMMDecoder_1_1ClassifierCallback.html">OCRHMMDecoder::ClassifierCallback</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df2/group__text__recognize.html#ga1d0cf1516cf8cfb2e53fdf639d547119">loadOCRHMMClassifier</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename, int classifier)</td></tr>
<tr class="memdesc:ga1d0cf1516cf8cfb2e53fdf639d547119"><td class="mdescLeft"> </td><td class="mdescRight">Allow to implicitly load the default character classifier when creating an <a class="el" href="../../d0/d74/classcv_1_1text_1_1OCRHMMDecoder.html" title="OCRHMMDecoder class provides an interface for OCR using Hidden Markov Models. ">OCRHMMDecoder</a> object.  <a href="../../d8/df2/group__text__recognize.html#ga1d0cf1516cf8cfb2e53fdf639d547119">More...</a><br/></td></tr>
<tr class="separator:ga1d0cf1516cf8cfb2e53fdf639d547119"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga8368b390a06f0323f9dead526337f6a3"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../db/dc0/classcv_1_1text_1_1OCRHMMDecoder_1_1ClassifierCallback.html">OCRHMMDecoder::ClassifierCallback</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df2/group__text__recognize.html#ga8368b390a06f0323f9dead526337f6a3">loadOCRHMMClassifierCNN</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename)</td></tr>
<tr class="memdesc:ga8368b390a06f0323f9dead526337f6a3"><td class="mdescLeft"> </td><td class="mdescRight">Allow to implicitly load the default character classifier when creating an <a class="el" href="../../d0/d74/classcv_1_1text_1_1OCRHMMDecoder.html" title="OCRHMMDecoder class provides an interface for OCR using Hidden Markov Models. ">OCRHMMDecoder</a> object.  <a href="../../d8/df2/group__text__recognize.html#ga8368b390a06f0323f9dead526337f6a3">More...</a><br/></td></tr>
<tr class="separator:ga8368b390a06f0323f9dead526337f6a3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad20627dd74a441192dc327adc9f9356d"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../db/dc0/classcv_1_1text_1_1OCRHMMDecoder_1_1ClassifierCallback.html">OCRHMMDecoder::ClassifierCallback</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/df2/group__text__recognize.html#gad20627dd74a441192dc327adc9f9356d">loadOCRHMMClassifierNM</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename)</td></tr>
<tr class="memdesc:gad20627dd74a441192dc327adc9f9356d"><td class="mdescLeft"> </td><td class="mdescRight">Allow to implicitly load the default character classifier when creating an <a class="el" href="../../d0/d74/classcv_1_1text_1_1OCRHMMDecoder.html" title="OCRHMMDecoder class provides an interface for OCR using Hidden Markov Models. ">OCRHMMDecoder</a> object.  <a href="../../d8/df2/group__text__recognize.html#gad20627dd74a441192dc327adc9f9356d">More...</a><br/></td></tr>
<tr class="separator:gad20627dd74a441192dc327adc9f9356d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa40b490a66fa21eb1d89163202f69c86"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/group__text__detect.html#gaa40b490a66fa21eb1d89163202f69c86">MSERsToERStats</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image, std::vector&lt; std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga1e83eafb2d26b3c93f09e8338bcab192">Point</a> &gt; &gt; &amp;contours, std::vector&lt; std::vector&lt; <a class="el" href="../../db/d20/structcv_1_1text_1_1ERStat.html">ERStat</a> &gt; &gt; &amp;regions)</td></tr>
<tr class="memdesc:gaa40b490a66fa21eb1d89163202f69c86"><td class="mdescLeft"> </td><td class="mdescRight">Converts <a class="el" href="../../d3/d28/classcv_1_1MSER.html" title="Maximally stable extremal region extractor. ">MSER</a> contours (vector&lt;Point&gt;) to <a class="el" href="../../db/d20/structcv_1_1text_1_1ERStat.html" title="The ERStat structure represents a class-specific Extremal Region (ER). ">ERStat</a> regions.  <a href="../../da/d56/group__text__detect.html#gaa40b490a66fa21eb1d89163202f69c86">More...</a><br/></td></tr>
<tr class="separator:gaa40b490a66fa21eb1d89163202f69c86"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a4ed3cbd46c1559f046cd25288a1f024b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ed3cbd46c1559f046cd25288a1f024b">◆ </a></span>createOCRHMMTransitionsTable() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::text::createOCRHMMTransitionsTable </td>
          <td>(</td>
          <td class="paramtype">std::string &amp; </td>
          <td class="paramname"><em>vocabulary</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::string &gt; &amp; </td>
          <td class="paramname"><em>lexicon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>transition_probabilities_table</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.text.createOCRHMMTransitionsTable(</td><td class="paramname">vocabulary, lexicon</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Utility function to create a tailored language model transitions table from a given list of words (lexicon). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">vocabulary</td><td>The language vocabulary (chars when ASCII English text).</td></tr>
    <tr><td class="paramname">lexicon</td><td>The list of words that are expected to be found in a particular image.</td></tr>
    <tr><td class="paramname">transition_probabilities_table</td><td>Output table with transition probabilities between character pairs. cols == rows == <a class="el" href="../../df/d5b/namespacecv_1_1gapi_1_1streaming.html#a0a915e69f4cc8284293e40fc9ffbf157" title="Gets dimensions from Mat. ">vocabulary.size()</a>.</td></tr>
  </table>
  </dd>
</dl>
<p>The function calculate frequency statistics of character pairs from the given lexicon and fills the output transition_probabilities_table with them. The transition_probabilities_table can be used as input in the <a class="el" href="../../d0/d74/classcv_1_1text_1_1OCRHMMDecoder.html#a5ba05f246ceb4197294b86c1acc1f2e4" title="Creates an instance of the OCRHMMDecoder class. Initializes HMMDecoder. ">OCRHMMDecoder::create()</a> and <a class="el" href="../../da/d07/classcv_1_1text_1_1OCRBeamSearchDecoder.html#aa400430635bde80628614bf9095a1f2c" title="Creates an instance of the OCRBeamSearchDecoder class. Initializes HMMDecoder. ">OCRBeamSearchDecoder::create()</a> methods. </p><dl class="section note"><dt>Note</dt><dd><ul>
<li>(C++) An alternative would be to load the default generic language transition table provided in the text module samples folder (created from ispell 42869 english words list) : <a href="https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/OCRHMM_transitions_table.xml">https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/OCRHMM_transitions_table.xml</a> </li>
</ul>
</dd></dl>
</div>
</div>
<a id="adfc8fe61325b04caf837633f36f74c77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfc8fe61325b04caf837633f36f74c77">◆ </a></span>createOCRHMMTransitionsTable() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d3/d63/classcv_1_1Mat.html">Mat</a> cv::text::createOCRHMMTransitionsTable </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp; </td>
          <td class="paramname"><em>vocabulary</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">cv::String</a> &gt; &amp; </td>
          <td class="paramname"><em>lexicon</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.text.createOCRHMMTransitionsTable(</td><td class="paramname">vocabulary, lexicon</td><td>)</td></tr></table>
</div><div class="memdoc">
</div>
</div>
<a id="a9370f4e7849c94fb418eebd915a6839d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9370f4e7849c94fb418eebd915a6839d">◆ </a></span>detectTextSWT()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::text::detectTextSWT </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">cv::Rect</a> &gt; &amp; </td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool </td>
          <td class="paramname"><em>dark_on_light</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> &amp; </td>
          <td class="paramname"><em>draw</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> &amp; </td>
          <td class="paramname"><em>chainBBs</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>()</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>result, draw, chainBBs</td><td>=</td><td>cv.text.detectTextSWT(</td><td class="paramname">input, dark_on_light[, draw[, chainBBs]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Applies the Stroke Width Transform operator followed by filtering of connected components of similar Stroke Widths to return letter candidates. It also chain them by proximity and size, saving the result in chainBBs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>the input image with 3 channels. </td></tr>
    <tr><td class="paramname">result</td><td>a vector of resulting bounding boxes where probability of finding text is high </td></tr>
    <tr><td class="paramname">dark_on_light</td><td>a boolean value signifying whether the text is darker or lighter than the background, it is observed to reverse the gradient obtained from Scharr operator, and significantly affect the result. </td></tr>
    <tr><td class="paramname">draw</td><td>an optional <a class="el" href="../../d3/d63/classcv_1_1Mat.html" title="n-dimensional dense array class ">Mat</a> of type CV_8UC3 which visualises the detected letters using bounding boxes. </td></tr>
    <tr><td class="paramname">chainBBs</td><td>an optional parameter which chains the letter candidates according to heuristics in the paper and returns all possible regions where text is likely to occur. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="ac30595bd0b171889aee9f3f62f0b966e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac30595bd0b171889aee9f3f62f0b966e">◆ </a></span>loadOCRBeamSearchClassifierCNN()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../de/d2d/classcv_1_1text_1_1OCRBeamSearchDecoder_1_1ClassifierCallback.html">OCRBeamSearchDecoder::ClassifierCallback</a>&gt; cv::text::loadOCRBeamSearchClassifierCNN </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp; </td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.text.loadOCRBeamSearchClassifierCNN(</td><td class="paramname">filename</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Allow to implicitly load the default character classifier when creating an <a class="el" href="../../da/d07/classcv_1_1text_1_1OCRBeamSearchDecoder.html" title="OCRBeamSearchDecoder class provides an interface for OCR using Beam Search algorithm. ">OCRBeamSearchDecoder</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>The XML or YAML file with the classifier model (e.g. OCRBeamSearch_CNN_model_data.xml.gz)</td></tr>
  </table>
  </dd>
</dl>
<p>The CNN default classifier is based in the scene text recognition method proposed by Adam Coates &amp; Andrew NG in [Coates11a]. The character classifier consists in a Single Layer Convolutional Neural Network and a linear classifier. It is applied to the input image in a sliding window fashion, providing a set of recognitions at each window location. </p>
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:48 for OpenCV by  <a href="http://www.doxygen.org/index.html">
<img alt="doxygen" class="footer" src="../../doxygen.png"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
